package com.ruoyi.teacher.mapper;

import java.util.ArrayList;
import java.util.List;

import com.ruoyi.teacher.domain.VO.TeacherVo;
import com.ruoyi.teacher.domain.teacher;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
 * 教师信息Mapper接口
 * 
 * @author chenxl
 * @date 2025-04-08
 */
@Mapper
public interface teacherMapper 
{
    /**
     * 查询教师信息
     * 
     * @param uuid 教师信息主键
     * @return 教师信息
     */
    public teacher selectteacherByUuid(String uuid);

    /**
     * 查询教师信息列表
     * 
     * @param teacher 教师信息
     * @return 教师信息集合
     */
    public List<teacher> selectteacherList(teacher teacher);

    /**
     * 新增教师信息
     * 
     * @param teacher 教师信息
     * @return 结果
     */
    public int insertteacher(teacher teacher);

    /**
     * 修改教师信息
     * 
     * @param teacher 教师信息
     * @return 结果
     */
    public int updateteacher(teacher teacher);

    /**
     * 删除教师信息
     * 
     * @param uuid 教师信息主键
     * @return 结果
     */
    public int deleteteacherByUuid(String uuid);

    /**
     * 批量删除教师信息
     * 
     * @param uuids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteteacherByUuids(String[] uuids);

    public teacher selectteacherByTeacherCode(String teacherId);

    public List<teacher> selectTeacherByTeacherIds(ArrayList<String> strings);
    //selectteacherIdByTeacherCode
    // Java方法
    public String selectteacherIdByTeacherCode(@Param("teacherCode")String teacherCode);

    public List<TeacherVo> selectAllteacherList(TeacherVo teacherVo);

    List<teacher> selectTeachersByCollegeIds(List<String> collegeIds);

    /**
     * 根据教师工号（teacher_code）查询对应学院的dept_id
     * @param teacherCode 教师工号（不能为空或空字符串）
     * @return 对应学院的dept_id（若教师无所属学院/学院不存在，返回null）
     */
    String selectDeptIdByTeacherCode(@Param("teacherCode") String teacherCode);
}
